1. Field of the Invention
This invention relates to the field of video editing systems, and in particular to a system for debugging video encoders and decoders.
2. Description of the Related Art
Digital video devices require the use of image compression. JPEG, MPEG, and DVD are related compression standards for image compression which make storage of images and image sequences feasible. They all share some common techniques, such as dividing the image into 8xc3x978 square blocks of pixels, compressing the blocks using the discrete cosine transform, grouping the blocks into macroblocks, grouping the a macroblocks into slices, and grouping the slices into an image. The MPEG and DVD standards also include provisions for encoding images relative to other images in an image sequence for greater compression.
Digital video products such as DVD, JPEG, and MPEG encoders/decoders are data stream processing devices, i.e. they operate on a sequential stream of data. The data streams being operated on are encoded with one or more levels of data compression. The testing and debugging of the sophisticated encoding and decoding algorithms can take an enormous amount of effort due to the sheer number of rule situations that can arise and the range of valid (and invalid) input data streams that may be generated and decoded. In general the testing methods involve authoring a library of test inputs, and then running the library through the device. These two steps are typically performed separately in different environments. When errors are found, the debugging process typically involves searching for commonality between test inputs that reveal the errors to determine the characteristics of the errors. New test inputs may then be created to further define and locate the cause of the error. This process is arduous and lengthy. A system which provides feedback for the adjustment of the test inputs to provide fast, interactive debugging would greatly enhance productivity by reducing the time and effort necessary for testing.
The problems outlined above are in large part solved by a graphical video editing system that allows manipulation of images for input to the video encoding and decoding process. The debugging of video encoders and decoders is aided by user controlled editing of problem areas in test images, and the graphical video editing system is coupled directly to the video encoder or decoder being debugged so that the effects of the editing can be immediately observed. This system may advantageously expedite the debugging process by simplifying the detection of problem areas and providing a fast method for narrowing the possible causes of image flaws.
Broadly speaking, the present invention contemplates a graphical video editing system for regeneration of bitstreams. The system comprises an encoder module, a decoder module, a display editor module and a display. The encoder module is configured to receive an input image and to convert the input image into an encoded bitstream. The encoder module is coupled to provide the encoded bitstream as an input bitstream to the decoder module, which is configured to convert the input bitstream into a decoded image. The display editor module is coupled to receive the decoded image from the decoder module and show it on the display. The display editor module is further configured to receive an image edit for the decoded image. The system may further comprise a bitstream manager module coupled to the display editor module to receive the decoded image and the image edit. The bitstream manager module is configured to responsively provide an edited image as the input image to the encoder module.